#include "timer.h"
#include "led.h"

/* 描述：基本定时器5初始化
 * 参数 arr：自动重装载值
 * 参数 psc：时钟预分频系数
 * 备注：TIMER5的时钟源为 TIMER_CK = SystemCoreClock 120MHz 
 * 返回值：无			*/
void timer5_init(uint16_t arr,uint16_t psc)
{
    timer_parameter_struct timer_initpara;

    rcu_periph_clock_enable(RCU_TIMER5);		/* 使能TIMER5时钟 */
    
    /* TIMER5 初始化配置 */
	timer_deinit(TIMER5);
    timer_initpara.prescaler         = psc;						/* 时钟预分频系数 */
    timer_initpara.period            = arr;						/* 自动重装载值 */
    timer_init(TIMER5,&timer_initpara);

	timer_enable(TIMER5);
	
	nvic_irq_enable(TIMER5_IRQn, 3, 3);				/* TIMER2中断设置，抢占优先级3，子优先级3 */
	timer_interrupt_enable(TIMER5,TIMER_INT_UP);	/* 使能更新中断 */ 
}

uint8_t update_flag = 0;
void TIMER5_IRQHandler(void)
{
	timer_flag_clear(TIMER5,TIMER_FLAG_UP);		/* 定时器更新中断的标识位需要手动清除 */
	update_flag = 1;
}

